FIELD OF THE INVENTION
The invention relates to an encoding device.
In data transmissions between two units of a system, for example between a mobile part, such as a chip card, and a stationary part, such as a reader, it is becoming increasingly important to encode the data to be transmitted, since knowledge of the transmitted data would give a defrauder the opportunity to manipulate an operation controlled by the data transmission. An encoding operation can take place in such a way that first of all a datum is sent from one of the units to the other unit and is encoded there through the use of an encoding device. The encoded datum is then sent back from the encoding unit to the sending unit. In the sending unit, the encoded datum is then either decoded, with it being possible in such a procedure to use both symmetrical algorithms and asymmetrical algorithms, or else it is encoded in the same way as in the mobile part and is compared with the encoded datum that is received.
Although the last-mentioned method cannot be used for the transmission of any desired information, since the ultimate receiver must already know the information, it can be used in a particularly advantageous way for authentication, since the mobile part, which encodes the received datum and sends it back to the stationary part, must thereby verify that it has the correct encoding algorithm, or the correct encoding device, and can thus identify itself. In the same way, of course, an authentication of the stationary part or reader can take place, since only if the two parts have the same encoding device, or the same encoding algorithm, does the datum encoded in the two parts produce a positive match when compared.
In the case of most encoding algorithms, in which the encoded datum is decoded again in the receiver, complicated computing units are necessary, are usually formed by a microprocessor and a special coprocessor, and require a considerable computing time. Pseudo-random generators are very much more simple, although only the second method mentioned above can be carried out therewith, since the encoding of an input datum of such a pseudo-random generator can no longer be reversed and consequently only the encoding operation can be carried out in the two parts of a system and the results of the two encoding operations compared with each other.
Usually a datum to be encoded and a secret code serve as input data for an encoding device. However, in order to increase security, further data may also be used, in particular time-variable data such as counter contents, for example of an error counter. All of those input data are processed into encoded output data through the use of an algorithm to be kept secret. In that case the algorithm may be realized by hardware, as in the example of a shift register, for example by a logical combination of a number of the states existing in the shift register.
Since in any event the data are in digital form, a clock signal which synchronizes the individual operations is necessary for their encoding. A defrauder could thus attempt to draw conclusions as to the type of encoding operation from the number of pulses of the clock signal occurring in an encoding operation.